export interface KeywordTrend {
  years: string[];
  keywords: {
    [key: string]: number[];
  };
}

export interface WordCloudItem {
  name: string;
  value: number;
  connections: string[];
}

export interface InstitutionItem {
  name: string;
  patents: number;
}

export interface CountryItem {
  country: string;
  patents: number;
}

export interface AuthorItem {
  name: string;
  patents: number;
}

export interface KeywordTimespan {
  keyword: string;
  startYear: number;
  endYear: number;
  frequency: number;
}

export interface KeywordTimespanData {
  [industry: string]: KeywordTimespan[];
}

export interface MockData {
  [industry: string]: {
    years: string[];
    keywords: {
      [keyword: string]: number[];
    };
  };
}

export interface MockInstitutions {
  [industry: string]: InstitutionItem[];
}

export interface MockWordCloud {
  [industry: string]: WordCloudItem[];
}

export interface MockCountry {
  [industry: string]: CountryItem[];
}

export interface MockAuthor {
  [industry: string]: AuthorItem[];
}

export interface MockKeywordTimespan {
  [industry: string]: KeywordTimespan[];
}
